Expand description
Rust friendly bindings to the various *nix system functions.
Modules are structured according to the C header file that they would be defined in.
Features
Nix uses the following Cargo features to enable optional functionality. They may be enabled in any combination.
acct
- Process accountingaio
- POSIX AIOdir
- Stuff relating to directory iterationenv
- Manipulate environment variablesevent
- Event-driven APIs, likekqueue
andepoll
feature
- Query characteristics of the OS at runtimefs
- File system functionalityhostname
- Get and set the system’s hostnameinotify
- Linux’sinotify
file system notification APIioctl
- Theioctl
syscall, and wrappers for my specific instanceskmod
- Load and unload kernel modulesmman
- Stuff relating to memory managementmount
- Mount and unmount file systemsmqueue
- POSIX message queuesnet
- Networking-related functionalitypersonality
- Set the process execution domainpoll
- APIs likepoll
andselect
process
- Stuff relating to running processespthread
- POSIX threadsptrace
- Process tracing and debuggingquota
- File system quotasreboot
- Reboot the systemresource
- Process resource limitssched
- Manipulate process’s schedulingsocket
- Sockets, whether for networking or local usesignal
- Send and receive signals to processesterm
- Terminal control APIstime
- Query the operating system’s clocksucontext
- User thread contextuio
- Vectored I/Ouser
- Stuff relating to users and groupszerocopy
- APIs likesendfile
andcopy_file_range
Re-exports
pub use libc;
Modules
dir
dir
env
env
Environment variables
features
feature
Feature tests for OS functionality
ifaddrs
net
Query network interface addresses
kmod
kmod
Load and unload kernel modules.
mount
mount
Mount file systems
mqueue
mqueue
Posix Message Queue functions
net
net
Functionality involving network interfaces
poll
poll
Wait for events to trigger on specific file descriptors
pty
term
Create master and slave virtual pseudo-terminals (PTYs)
sched
sched
Execution scheduling
Mostly platform-specific functionality
time
time
ucontext
ucontext
Safe wrappers around functions found in libc “unistd.h” header
Macros
cmsg_space
socket
and uio
Create a buffer large enough for storing some control messages as returned
by
recvmsg
.ioctl_none
ioctl
Generates a wrapper function for an ioctl that passes no data to the kernel.
ioctl_none_bad
ioctl
Generates a wrapper function for a “bad” ioctl that passes no data to the kernel.
ioctl_read
ioctl
Generates a wrapper function for an ioctl that reads data from the kernel.
ioctl_read_bad
ioctl
Generates a wrapper function for a “bad” ioctl that reads data from the kernel.
ioctl_read_buf
ioctl
Generates a wrapper function for an ioctl that reads an array of elements from the kernel.
ioctl_readwrite
ioctl
Generates a wrapper function for an ioctl that reads and writes data to the kernel.
ioctl_readwrite_bad
ioctl
Generates a wrapper function for a “bad” ioctl that reads and writes data to the kernel.
ioctl_readwrite_buf
ioctl
Generates a wrapper function for an ioctl that reads and writes an array of elements to the kernel.
ioctl_write_buf
ioctl
Generates a wrapper function for an ioctl that writes an array of elements to the kernel.
ioctl_write_int
ioctl
Generates a wrapper function for a ioctl that writes an integer to the kernel.
ioctl_write_int_bad
ioctl
Generates a wrapper function for a “bad” ioctl that writes an integer to the kernel.
ioctl_write_ptr
ioctl
Generates a wrapper function for an ioctl that writes data through a pointer to the kernel.
ioctl_write_ptr_bad
ioctl
Generates a wrapper function for a “bad” ioctl that writes data through a pointer to the kernel.
request_code_none
ioctl
Generate an ioctl request code for a command that passes no data.
request_code_read
ioctl
Generate an ioctl request code for a command that reads.
Generate an ioctl request code for a command that reads and writes.
request_code_write
ioctl
Generate an ioctl request code for a command that writes.
Traits
Common trait used to represent file system paths by many Nix functions.